#pragma once

#include "PublicInterfaces\{FAFD3CB8-FCF3-46EE-B32E-45A4FF68073E}\IImageComputeFn.h"

#include <opencv2\core\core.hpp>
#include <opencv2\imgproc\imgproc.hpp>
#include <opencv2\imgproc\imgproc_c.h>
#include <opencv2\highgui\highgui.hpp>	//needed for imread(), imwrite()

namespace PluginOpenCV
{
	class Utils
	{
	public:
		~Utils(void);

		static int  Utils::Convert2BorderType(int border);
		static bool Utils::GetImagePathFilenames(IImageComputeFn *fn, const char *root, const char *ijc, const char *ijf, const char *imageRef, const char *srcFiletype, const char *dstFiletype, std::string *filenameDstImage, std::string *pathfilenameSrcImage, std::string *pathfilenameDstImage, std::string *pathfilenameDebugImage);
		static bool Utils::WriteDebugImage(IImageComputeFn *fn, const char *pathfilenameSrcImage, const char *pathfilenameDstImage, const char *pathfilenameDebugImage, const char *arrayPts);

	private:
		Utils(void);
	};
}

